<?php
class Precios extends APP_Controller{
    public function __construct() {
        parent::__construct();
        $this->isValidAjaxRequest();
        $this->load->model('Precios_model','precios');
    }

    /**
     * Hace llado al formulario de de agregar producto
     */
    function form()
    {
        $data = array(
            'gridPanelId'=>$this->input->post('gridPanelId'),
            'pageSize'=>$this->getPageSize(),
            'title'=>  get_class($this)
        );
        $productoId = $this->input->post('productoId');
        if(!empty ($productoId)){
            $this->precios->setId($productoId);
            $data['data'] = $this->precios->getById();
        }
        //$this->pr($data);
        $this->load->view('precios/form',$data);
    }

    /**
     * Guardas los datos enviados desde la vista
     */
    function save()
    {
        $this->load->library('form_validation');

        $rs = array();

        $this->form_validation->set_rules('marca_id', 'Marca', 'required|integer');
        $this->form_validation->set_rules('categoria_id', 'Categoria', 'required|integer');
        $this->form_validation->set_rules('genero_id', 'Genero', 'required|integer');
        $this->form_validation->set_rules('referencia', 'Referencia', 'required|alpha_numeric');
        $this->form_validation->set_rules('descripcion', 'Descripcion', 'required');
        $this->form_validation->set_rules('colores', 'Colores', 'required');

        if($this->form_validation->run()){

            $successMsj = 'Los datos del proveedor fueron almacenados exitosamente.';
            $errorMsj = 'Los datos del proveedor no pudieron ser almacenados. Por Favor intente de nuevo';

            try {
                $this->precios->setMarcaId($this->input->post('marca_id'));
                $this->precios->setCategoriaId($this->input->post('categoria_id'));
                $this->precios->setGeneroId($this->input->post('genero_id'));
                $this->precios->setReferencia($this->input->post('referencia'));
                $this->precios->setDescripcion($this->input->post('descripcion'));
                $this->precios->setColores($this->input->post('colores'));
                $this->precios->setObservaciones($this->input->post('observaciones'));

                $id = $this->input->post('id');
                if(!empty($id)){
                    $this->precios->setId($id);
                    $this->precios->setCreado($this->input->post('creado'));
                    $this->precios->setModificado(date('Y-m-d'));
                    $this->precios->update();
                }else{
                    $this->precios->setCreado(date('Y-m-d'));
                    $this->precios->setModificado(0);
                    $this->precios->add();
                }
                $rs['msg'] = $successMsj;
                $rs['success'] = TRUE;
            } catch (Exception $exc) {
                echo $exc->getTraceAsString();
                $rs['msg'] = $errorMsj;
                $rs['success'] = FALSE;
            }
        }else{
            $this->load->helper('form');
            $rs['msg'] =  validation_errors();
            $rs['success'] = FALSE;
        }
        echo json_encode($rs);
    }
}
?>